The present invention is directed to construction of components within a system to facilitate easier, more cost effective operation and maintenance of the system. In particular, in its preferred embodiment the invention relates to an addressing arrangement in a system that employs Dynamic Host Configuration Protocol (DHCP) servers for communicating with a plurality of client devices via a communication bus structure. The invention is embodied in a method for implementation of the addressing arrangement and in the system that employs the addressing arrangement.
In systems that include server apparatuses that are required to communicate with client devices for effecting the configuration of the client devices, there is a need for both the servers and the clients to be able to uniquely identify each client device in order to configure each client correctly. This identifier is provided to one or more servers when requesting configuration information for itself, so that the server or servers know which client's configuration is to be supplied. The need for unique identifiers being assigned to client devices is complicated as more servers are added to the system to provide parallelism and backup capabilities for the system. The need for unique identification of client devices is even further exacerbated when address assignment is effected dynamically by servers during operations. The unique client identifiers are typically an address of some sort, as will be described below herein.
One exemplary such dynamic addressing system is a Dynamic Host Configuration Protocol (DHCP) system. DHCP is an operational protocol standard that permits a server to dynamically assign Internet Protocol (IP) addresses to nodes or workstations (i.e., client devices) on the fly. The DHCP protocol supports manual, automatic and dynamic address assignment. It is in the dynamic address assignment arrangement that the present invention is especially advantageous. A prior art DHCP protocol system operating in a dynamic address assignment mode provides client information, including subnetwork mask, gateway address and Internet addresses (i.e., IP addresses). The DHCP server is generally configured as a dedicated server. In dynamic address assignment, the DHCP server verifies a given client device's identity, “leases” an IP address to the client device (usually for a given period of time) and reclaims the address for reassignment at the expiration of the lease period. Thus, the DHCP protocol permits assignment of IP addressees from a common address pool and facilitates re-use of addresses. Such reusing of addresses for limited lease periods is advantageous in relieving strain on address numbering schemes that offer limited digits for coding addresses.
There are two important design results that are desirable in implementing a DHCP addressing scheme in a server-client system. (1) It is desirable to provide redundant service without requiring communication among the servers themselves. Such a desirable arrangement requires that the DHCP address database have a fixed association between client identifiers (e.g., hardware identification) and IP addresses. (2) It is desirable to allow a failed client device to be replaced merely by removing the failed client device and installing a replacement device in its place, commonly known as a “plug-and-play” replacement, and that the new client retains the Internet address, i.e., IP address, that was originally assigned to the now-failed client. The retention of the original IP address allows other components on the network that communicate with the clients to be able to communicate with the new client without reconfiguration of those other components. That is, in replacing a client device there is no need for reconfiguration of the DHCP server or reconfiguration of the client device when effecting the replacement.
Prior art DHCP protocol systems have been configured to satisfy either design result (1) or design result (2). However, no prior art DHCP protocol system has succeeded in satisfying both of design results (1) and (2).
Prior art DHCP protocol systems have satisfied design result (1) by configuring each DHCP server with identical associations between client identifiers (e.g., a hardware address or a DHCP client identification string) and IP addresses. Because a hardware address is associated with the particular item of hardware employed for the client device, replacement of the client device necessarily requires reconfiguration of the DHCP servers with the new hardware address. That is, a technician must enter the new hardware identification into the servers indicating the new piece of hardware that constitutes the replacement client device.
In such manner, design result (1) is satisfied, but design result (2) cannot be satisfied. By way of farther example, if a DHCP client identification string is employed, the DHCP servers must somehow be notified of the new identification string associated with the replacement client device at or before the time the client device first communicates with the servers. However, in order for the replacement client device to properly present the required information to the server the DHCP client identification string must be known to the replacement client device itself. The DHCP client identification string would need to be entered into a non-volatile storage site in the replacement client device. A DHCP client identification string depends upon exactly where in the system the replacement client device is installed. For this reason the DHCP client identification string cannot be entered into the client device non-volatile storage before its installation. A technician must intervene during installation of the replacement client device to configure the replacement client device with its location-related information. That is, a technician installing a replacement client device must enter the DHCP client identification string into the non-volatile memory of the client device, including information regarding the location within the system at which the new client device is situated. This requirement for on-site entry of information into a client device during installation precludes satisfying design result (2).
Prior art DHCP protocol systems have satisfied design result (2) by employing a single DHCP server that maintains dynamic associations between hardware addresses and IP addresses. Because there is only a single DHCP server in such systems there is no need for communication between or among several DHCP servers to maintain hardware address-IP address associations. However, for the very reason that there is only one DHCP server in such prior art arrangements, no redundancy of DHCP server functions can be provided and design result (1) cannot be satisfied.
There is a need for a system for effecting communication among a plurality of devices and servers, and a method for assigning addresses therefor that can provide redundant service without requiring communication among servers and that can permit device replacement without reconfiguration of servers or the replacement device.